home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / lib / perl / list.ph < prev    next >
Text File  |  1991-08-11  |  2KB  |  55 lines

  1. if (!defined &_LIST) {
  2.     eval 'sub _LIST {1;}';
  3.     if (!defined &_SPRITE) {
  4.     }
  5.     eval 'sub List_InitElement {
  6.         local($elementPtr) = @_;
  7.         eval "($elementPtr)-> &prevPtr = ( &List_Links *)  &NIL; ($elementPtr)-> &nextPtr = ( &List_Links *)  &NIL;";
  8.     }';
  9.     eval 'sub LIST_FORALL {
  10.         local($headerPtr, $itemPtr) = @_;
  11.         eval " &for (($itemPtr) =  &List_First($headerPtr); ! &List_IsAtEnd(($headerPtr),($itemPtr)); ($itemPtr) =  &List_Next($itemPtr))";
  12.     }';
  13.     eval 'sub List_IsEmpty {
  14.         local($headerPtr) = @_;
  15.         eval "(($headerPtr) == ($headerPtr)-> &nextPtr)";
  16.     }';
  17.     eval 'sub List_IsAtEnd {
  18.         local($headerPtr, $itemPtr) = @_;
  19.         eval "(($itemPtr) == ($headerPtr))";
  20.     }';
  21.     eval 'sub List_First {
  22.         local($headerPtr) = @_;
  23.         eval "(($headerPtr)-> &nextPtr)";
  24.     }';
  25.     eval 'sub List_Last {
  26.         local($headerPtr) = @_;
  27.         eval "(($headerPtr)-> &prevPtr)";
  28.     }';
  29.     eval 'sub List_Prev {
  30.         local($itemPtr) = @_;
  31.         eval "(($itemPtr)-> &prevPtr)";
  32.     }';
  33.     eval 'sub List_Next {
  34.         local($itemPtr) = @_;
  35.         eval "(($itemPtr)-> &nextPtr)";
  36.     }';
  37.     eval 'sub LIST_AFTER {
  38.         local($itemPtr) = @_;
  39.         eval "(( &List_Links *) $itemPtr)";
  40.     }';
  41.     eval 'sub LIST_BEFORE {
  42.         local($itemPtr) = @_;
  43.         eval "((( &List_Links *) $itemPtr)-> &prevPtr)";
  44.     }';
  45.     eval 'sub LIST_ATFRONT {
  46.         local($headerPtr) = @_;
  47.         eval "(( &List_Links *) $headerPtr)";
  48.     }';
  49.     eval 'sub LIST_ATREAR {
  50.         local($headerPtr) = @_;
  51.         eval "((( &List_Links *) $headerPtr)-> &prevPtr)";
  52.     }';
  53. }
  54. 1;
  55.